/*
 * @Author: firesky
 * @Date: 2020-08-29 16:59:17
 * @LastEditTime: 2020-10-28 14:40:07
 * @LastEditors: firesky
 */
import Vue from 'vue'

import 'normalize.css/normalize.css' // A modern alternative to CSS resets

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import locale from 'element-ui/lib/locale/lang/zh-CN' // lang i18n

import '@/styles/index.scss' // global css
import GButton from '@/components/GButton/index'
import BHeaderButton from '@/components/HeaderButton/index'
import ExcelImport from '@/components/ExcelImport/index'
import GridExcelImport from '@/components/GridExcelImports/index'
import SendMsg from './components/sendMsg'
import FmodelDetail from './components/FmodelDetail'

import decimal from "./utils/cal";
Vue.prototype.decimal = decimal;

import App from './App'
import router from './router'
import store from './store'

import '@/icons' // icon
import '@/permission' // permission control
import elDragDialog from './directive/el-drag-dialog'

import VXETable from 'vxe-table'
import 'vxe-table/lib/style.css'
import '@/styles/vxe-config.scss'
Vue.use(VXETable)

import plugins from './plugins' // plugins
Vue.use(plugins)

Vue.use(ElementUI, { locale, size: 'small' })
Vue.use(GButton)
Vue.use(BHeaderButton)
Vue.use(ExcelImport)
Vue.use(GridExcelImport)
Vue.use(SendMsg)
Vue.use(FmodelDetail)
Vue.use(elDragDialog)
Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})
